package com.example.product.ctl;

import com.alibaba.fastjson.JSON;
import com.example.product.dto.ProductDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

/**
 * @title: ProductCtl
 * @description:
 * @author: brucewong
 * @version: 1.0
 * @date：2019/10/9 22:38
 */
@Slf4j
@RestController
@RequestMapping("/product")
public class ProductCtl {

    @GetMapping("/{id}")
    public ProductDTO findProduct(@PathVariable("id") String id){
        log.info("ProductCtl.findProduct() request param id={}",id);
        ProductDTO productDTO = new ProductDTO();
        productDTO.setId(id);
        productDTO.setName("自行车");
        return productDTO;
    }

    @GetMapping("/find")
    public ProductDTO findProduct(@RequestParam("id") String id, @RequestParam("name") String name){
        log.info("ProductCtl.findProduct() request param id={}, name={}",id, name);
        ProductDTO productDTO = new ProductDTO();
        productDTO.setId(id);
        productDTO.setName(name);
        return productDTO;
    }

    @PostMapping("/add")
    public ProductDTO add(@RequestBody ProductDTO productDTO){
        log.info("ProductCtl.add() request param :[{}]", JSON.toJSONString(productDTO));
        return productDTO;
    }
}